using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;namespace MouseEventTrap{/// <summary>/// Form1 的摘要说明。/// </summary>public class Form1 : System.Windows.Forms.Form{/// <summary>/// 必需的设计器变量。/// </summary>private System.ComponentModel.Container components = null;public Form1(){//// Windows 窗体设计器支持所必需的//InitializeComponent();//// TODO: 在 InitializeComponent 调用后添加任何构造函数代码//}/// <summary>/// 清理所有正在使用的资源。/// </summary>protected override void Dispose( bool disposing ){if( disposing ){if (components != null) {components.Dispose();}}base.Dispose( disposing );}#region Windows Form Designer generated code/// <summary>/// 设计器支持所需的方法 - 不要使用代码编辑器修改/// 此方法的内容。/// </summary>private void InitializeComponent(){this.label1 = new System.Windows.Forms.Label();this.textBox1 = new System.Windows.Forms.TextBox();this.SuspendLayout();// // label1// this.label1.Location = new System.Drawing.Point(20, 9);this.label1.Name = "label1";this.label1.Size = new System.Drawing.Size(492, 37);this.label1.TabIndex = 0;this.label1.Text = "本程序示范如何在C#/.NET中处理 WM_NCLBUTTONDOWN,看效果请用鼠标点击标题栏。";// // textBox1// this.textBox1.Location = new System.Drawing.Point(10, 56);this.textBox1.Multiline = true;this.textBox1.Name = "textBox1";this.textBox1.ReadOnly = true;this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;this.textBox1.Size = new System.Drawing.Size(512, 249);this.textBox1.TabIndex = 1;this.textBox1.Text = "";this.textBox1.TextChanged = new System.EventHandler(this.textBox1_TextChanged);// // Form1// this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);this.ClientSize = new System.Drawing.Size(532, 315);this.Controls.AddRange(new System.Windows.Forms.Control[] { this.textBox1, this.label1});this.Name = "Form1";this.Text = "MouseEventTrap";this.ResumeLayout(false);/*this.components = new System.ComponentModel.Container();this.Size = new System.Drawing.Size(300,300);this.Text = "Form1";*/}#endregionprivate System.Windows.Forms.Label label1;private System.Windows.Forms.TextBox textBox1;// Array index corresponds to winuser.h value. E.g., in winuser.h:// #define HTCLIENT 1// #define HTCAPTION 2// etc.//private String[] HITCODES = {"HTNOWHERE","HTCLIENT","HTCAPTION","HTSYSMENU","HTGROWBOX","HTMENU","HTHSCROLL","HTVSCROLL","HTMINBUTTON","HTMAXBUTTON","HTLEFT","HTRIGHT","HTTOP","HTTOPLEFT","HTTOPRIGHT","HTBOTTOM","HTBOTTOMLEFT","HTBOTTOMRIGHT","HTBORDER","HTOBJECT","HTCLOSE","HTHELP"};// 重载虚拟 WndProc 以截获任何消息protected override void WndProc(ref Message m) {// 该值来自 Windows SDK 文件 winuser.hconst int WM_NCLBUTTONDOWN = 0x00A1;// 侦听操作系统消息switch (m.Msg) {case WM_NCLBUTTONDOWN:Point p = new Point((int)m.LParam);String msg = String.Format("WM_NCLBUTTONDOWN: p=({0},{1}), hitcode={2}\r\n",p.X, p.Y, HITCODES[(int)m.WParam]);this.textBox1.Text = msg;break; }base.WndProc(ref m); // 不要忘了调用基类成员函数!}/// <summary>/// 应用程序的主入口点。/// </summary>[STAThread]static void Main() {Application.Run(new Form1());}private void textBox1_TextChanged(object sender, System.EventArgs e){}}}
下载鼠标全局事件用户还喜欢
- 18480 文章数
- 500万+ 热度
作者专栏
编辑推荐
- 淡抹u2引擎,修复内容较多,物有所值
- 界域传说·经典巨作=传世单机(一键安装)
- 丸子版本(175个传世版本大集合)
- GS版本:神话公益服务端+客户端
- 图片放大工具(放大图片不模糊)
- 剪映无限制VIP版
- 传奇世界客户端下载器,史上最全传世客户端
- 传世GS20220920商业引擎注册+登录配置器 解压密码是1
- U2官方排行榜游戏网关 支持元神,支持传家宝
- GS开战传世客户端+服务端
- (淡漠夕阳)u2引擎合区工具
- 传世GS引擎消除“你的游戏客户端版本号过旧,请及时更新”提示
- 传世一机多区双线路配置器--免密码版本
- 传世凤凰登陆器劫持修复软件
- SQLite3 for Navicat
- 传奇世界npc对话框编辑工具
- 传世GS落霞铭文服务器端
- gs_20210409引擎包+注册机(无限制)
- 传奇世界NPC对话封包查看器[支持时长版和极速版]
- 彩虹引擎传世脚本编辑工具1.7版来了,支持函数脚本翻译
评论